package com.cyt.work.enrollment.model.vo;

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;
import org.hibernate.validator.constraints.NotBlank;

import javax.persistence.Column;
import javax.validation.constraints.Pattern;
import java.io.Serializable;

/**
 * 模板导出
 *
 * @author caideyong
 * @date 2019/11/ 10:53
 */
@Data
public class EnrollmentStuinfoImportVo implements Serializable {

    @Excel(name = "*姓名")
    @NotBlank(message = "姓名不能为空")
    private String name;

    @Excel(name = "*性别",dict = "sexType")
    @NotBlank(message = "性别不能为空")
    private String sex;

    @Excel(name = "*政治面貌",dict = "politicalStatus")
    @NotBlank(message = "政治面貌不能为空")
    private String politicalStatus;

    @Excel(name = "*民族",dict = "nationality")
    @NotBlank(message = "民族不能为空")
    private String nationality;

    @Excel(name = "*户口类型",dict = "accountType")
    @NotBlank(message = "户口类型不能为空")
    private String accountType;

    @Excel(name = "联系电话")
    @Pattern(regexp = "^((\\+86|\\+86\\-)|(86|86\\-)|(0086|0086\\-))?1[3|5|7|8]\\d{9}$", message = "联系电话格式不正确")
    private String phone;

    @Excel(name = "身份证号码")
    @Pattern(regexp = "(^\\d{18}$)|(^\\d{15}$)", message = "身份证号码格式不正确")
    private String card;

    @Excel(name = "毕业学校")
    private String school;

    @Excel(name = "学校所在区(县)")
    private String schoolPlace;

    @Excel(name = "户口所在地")
    private String accountPlace;

    @Excel(name = "准考证号")
    private String testNum;

    @Excel(name = "邮政编码")
    private String postNum;

    @Excel(name = "所在年级总人数")
    private String gradeNum;

    @Excel(name = "所在班级总人数")
    private String classNum;

    @Excel(name = "详细通讯地址及联系人")
    private String place;

    @Excel(name = "奖惩情况详情")
    private String reward;

    public EnrollmentStuinfoImportVo() {
    }

    public EnrollmentStuinfoImportVo(String name, String sex, String politicalStatus, String nationality, String accountType, String phone, String card, String school, String schoolPlace, String accountPlace, String testNum, String postNum, String gradeNum, String classNum, String place, String reward) {
        this.name = name;
        this.sex = sex;
        this.politicalStatus = politicalStatus;
        this.nationality = nationality;
        this.accountType = accountType;
        this.phone = phone;
        this.card = card;
        this.school = school;
        this.schoolPlace = schoolPlace;
        this.accountPlace = accountPlace;
        this.testNum = testNum;
        this.postNum = postNum;
        this.gradeNum = gradeNum;
        this.classNum = classNum;
        this.place = place;
        this.reward = reward;
    }
}